{{/* 结构体-源 */}}
{{- $PkgNameLowerCase := .PkgName | FirstCharLowerCase -}}
{{- $TableNameLowerCase := .TableName | FirstCharLowerCase -}}
{{- $PkgNameUpper := .PkgName | FirstCharUpper -}}
{{- $TableNameUpper := .TableName | FirstCharUpper -}}
package model
// 自动生成模板{{$TableNameUpper}}
import (
	{{ if .HasTimer }}"time"{{ end }}
)

// {{$TableNameUpper}}Model 结构体
type {{$TableNameUpper}}Model struct {
{{ range .Fields }}
    {{.ColumnName | FirstCharUpper}}  {{.DataType | TypeConvert}}  `gorm:"column:{{.ColumnName}};{{- if .ColumnComment -}}comment:{{.ColumnComment}};{{- end -}}{{- if .ColumnDefault -}}default:{{.ColumnDefault}};{{- end -}}{{- if .IsNullable -}}isNullable:{{.IsNullable}};{{- end -}}{{- if .CharacterMaximumLength -}}size:{{.CharacterMaximumLength}};{{- end -}}"`
{{- end -}}
}


{{ if $TableNameUpper }}
func New{{$TableNameUpper}}Model()*{{$TableNameUpper}}Model{
    return &{{$TableNameUpper}}Model{}
}
// TableName {{$TableNameUpper}} 表名
func (a *{{$TableNameUpper}}Model) TableName() string {
  return "{{.TableName}}"
}
{{ end }}
